add database storage

chengzhenyu 8 年之前
父节点
当前提交
bd65f2d7c6

+ 5 - 14
app/src/main/java/ai/pai/lensman/app.java

@@ -1,6 +1,7 @@
1 1
 package ai.pai.lensman;
2 2
 
3 3
 import android.app.Application;
4
+import android.content.Context;
4 5
 
5 6
 import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
6 7
 import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
@@ -17,27 +18,17 @@ import ai.pai.lensman.utils.Constants;
17 18
  */
18 19
 public class App extends Application {
19 20
 
20
-    protected static App       mInstance;
21
+    private static Context   mInstance;
21 22
 
22
-    public App(){
23
-        mInstance = this;
24
-    }
25
-
26
-    public static App getApp() {
27
-        if (mInstance != null && mInstance instanceof App) {
28
-            return (App) mInstance;
29
-        } else {
30
-            mInstance = new App();
31
-            mInstance.onCreate();
32
-            return (App) mInstance;
33
-        }
23
+    public static Context getAppContext(){
24
+        return mInstance;
34 25
     }
35 26
 
36 27
     @Override
37 28
     public void onCreate() {
38 29
         super.onCreate();
39 30
         initImageLoader();
40
-        mInstance = this;
31
+        mInstance = this.getApplicationContext();
41 32
     }
42 33
 
43 34
 

+ 3 - 2
app/src/main/java/ai/pai/lensman/db/DBService.java

@@ -9,6 +9,7 @@ import com.android.common.utils.LogHelper;
9 9
 
10 10
 import java.util.ArrayList;
11 11
 
12
+import ai.pai.lensman.App;
12 13
 import ai.pai.lensman.bean.PhotoBean;
13 14
 import ai.pai.lensman.bean.SessionBean;
14 15
 
@@ -25,9 +26,9 @@ public class DBService {
25 26
         dbHelper = DBHelper.getInstance(context);
26 27
     }
27 28
 
28
-    public static synchronized DBService getInstance(Context context) {
29
+    public static synchronized DBService getInstance() {
29 30
         if (instance == null) {
30
-            instance = new DBService(context.getApplicationContext());
31
+            instance = new DBService(App.getAppContext());
31 32
         }
32 33
         return instance;
33 34
     }

+ 0 - 6
app/src/main/java/ai/pai/lensman/session/PhotoRecyclerAdapter.java

@@ -80,12 +80,6 @@ public class PhotoRecyclerAdapter extends RecyclerView.Adapter<PhotoRecyclerAdap
80 80
         lp.width = width;
81 81
         lp.height = height;
82 82
         holder.photo.setLayoutParams(lp);
83
-        holder.itemView.setOnClickListener(new View.OnClickListener(){
84
-            @Override
85
-            public void onClick(View v) {
86
-
87
-            }
88
-        });
89 83
     }
90 84
 
91 85
     @Override

+ 4 - 3
app/src/main/java/ai/pai/lensman/session/SessionPresenter.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
4 4
 
5 5
 import ai.pai.lensman.bean.PhotoBean;
6 6
 import ai.pai.lensman.bean.SessionBean;
7
+import ai.pai.lensman.db.DBService;
7 8
 
8 9
 public class SessionPresenter implements SessionContract.Presenter,SessionInteractor.SessionListener{
9 10
 
@@ -13,18 +14,18 @@ public class SessionPresenter implements SessionContract.Presenter,SessionIntera
13 14
 
14 15
     public SessionPresenter(SessionBean sessionBean, SessionContract.View view){
15 16
         this.sessionView = view;
16
-        photoList = new ArrayList<>();
17
+        photoList = DBService.getInstance().getPhotoListBySessionId(sessionBean.sessionId);
17 18
         interactor = new SessionInteractor(sessionBean,this);
18 19
     }
19 20
 
20 21
     @Override
21 22
     public void start() {
22
-        interactor.startSession();
23 23
         if(photoList.size()==0){
24 24
             sessionView.showEmptyView();
25 25
         }else{
26 26
             sessionView.showPhotoRecyclerView();
27 27
         }
28
+        interactor.startSession();
28 29
     }
29 30
 
30 31
     @Override
@@ -44,8 +45,8 @@ public class SessionPresenter implements SessionContract.Presenter,SessionIntera
44 45
 
45 46
     @Override
46 47
     public void onSessionPhotoCaptured(final PhotoBean bean) {
48
+        DBService.getInstance().addPhotoBean(bean);
47 49
         sessionView.showPhotoRecyclerView();
48
-        sessionView.showToast("发现新增照片");
49 50
         sessionView.addNewPhoto(bean);
50 51
     }
51 52
 

+ 0 - 5
app/src/main/java/ai/pai/lensman/upload/UploadActivity.java

@@ -71,11 +71,6 @@ public class UploadActivity extends BaseActivity implements UploadContract.View
71 71
 
72 72
 
73 73
     @Override
74
-    public void addNewSessionView(SessionBean bean) {
75
-
76
-    }
77
-
78
-    @Override
79 74
     public void showBoxDisconnectedView() {
80 75
         boxStatusTextView.setText(R.string.bt_disconnected);
81 76
         boxStatusImageView.setImageResource(R.drawable.wifi_disconnect);

+ 1 - 4
app/src/main/java/ai/pai/lensman/upload/UploadContract.java

@@ -6,14 +6,10 @@ import ai.pai.lensman.base.BasePresenter;
6 6
 import ai.pai.lensman.base.BaseView;
7 7
 import ai.pai.lensman.bean.SessionBean;
8 8
 
9
-/**
10
- * Created by chengzhenyu on 2016/7/7.
11
- */
12 9
 public class UploadContract {
13 10
 
14 11
     interface View extends BaseView {
15 12
 
16
-        void addNewSessionView(SessionBean bean);
17 13
         void showBoxDisconnectedView();
18 14
         void showBoxConnectedView();
19 15
         void showEmptyView();
@@ -24,6 +20,7 @@ public class UploadContract {
24 20
 
25 21
     interface Presenter extends BasePresenter{
26 22
         SessionBean createNewSession();
23
+
27 24
     }
28 25
 
29 26
 }

+ 11 - 2
app/src/main/java/ai/pai/lensman/upload/UploadPresenter.java

@@ -1,8 +1,11 @@
1 1
 package ai.pai.lensman.upload;
2 2
 
3
+import java.text.SimpleDateFormat;
3 4
 import java.util.ArrayList;
5
+import java.util.Date;
4 6
 
5 7
 import ai.pai.lensman.bean.SessionBean;
8
+import ai.pai.lensman.db.DBService;
6 9
 
7 10
 public class UploadPresenter implements UploadContract.Presenter {
8 11
 
@@ -14,12 +17,12 @@ public class UploadPresenter implements UploadContract.Presenter {
14 17
     public UploadPresenter(UploadContract.View view,String lensmanId){
15 18
         this.uploadView = view;
16 19
         this.lensmanId = lensmanId;
17
-        sessionList = new ArrayList<>();
18 20
     }
19 21
 
20 22
 
21 23
     @Override
22 24
     public void start() {
25
+        sessionList = DBService.getInstance().getSessionBeanListByDay(getSessionDateInLongFormat());
23 26
         if(sessionList.size()==0){
24 27
             uploadView.showEmptyView();
25 28
         }else{
@@ -38,10 +41,16 @@ public class UploadPresenter implements UploadContract.Presenter {
38 41
     public SessionBean createNewSession() {
39 42
         SessionBean sessionBean = new SessionBean();
40 43
         sessionBean.lensmanId = lensmanId;
41
-        sessionBean.sessionDate=20160813;
44
+        sessionBean.sessionDate=getSessionDateInLongFormat();
42 45
         sessionBean.sessionSeq = sessionSeq+1;
43 46
         sessionBean.sessionId ="chengzhenyu_test"+sessionBean.sessionSeq;
44 47
         sessionList.add(sessionBean);
45 48
         return sessionBean;
46 49
     }
50
+
51
+    private long getSessionDateInLongFormat(){
52
+        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
53
+        String dateStr = format.format(new Date());
54
+        return Long.parseLong(dateStr);
55
+    }
47 56
 }